Publish an App in App Studio
Within App Studio the publish options can be found in the Publish group on the Ribbon's Publish tab or by clicking on the lower half of the Publish Project button in the Project group on the Ribbon's Home tab. The following options are available:
-
Publish to Local System – this option is no longer recommended – use Publish to Server, below, instead.
-
Publish to Server – used to publish your Project directly to an App Server.
-
Publish to Package – packages up your whole Project into a single compressed Package file.
Package files can be used to copy the Project to another development PC, to include multiple Projects within a Standalone App and to publish an app to the App Server where you cannot publish directly. Packages can include development and runtime files or just runtime files.
Note that when using Publish to Server, before the app is published, by default, App Studio will check the syntax of all the Scripts within the app and report any errors in the Script Errors Pane. You can disable this check by selecting the Disable Syntax Checking on Publish option in the App Studio Settings.
Publishing an app will automatically save the Project before publishing.
Whilst you are developing a Digitise app, for testing purposes we suggest you publish it to the App Server running on your development PC and download it to your test device(s) from there. When you installed Digitise Apps, if you specified the connection details for the SQL Server, it is these connection details which will be used to point to the App Server Configuration Database when you publish an app.
You can, however, enter or change the App Server Configuration Database connection details when you publish your app using the Publish to Server option. App Manager also allows you to change the connection string for the App Server Configuration Database within the App Manager Options. These options allow you to easily swap between publishing to a development App Server and, for example, a live or test version.
This option registers the currently open Project with the App Server and stores a copy of each of the app's files in the App Server Configuration Database. All Digitise apps need to be published to your App Server before they can be used on mobile devices, whether they are to be deployed using the standard Digitise Apps Client or as Standalone Apps. Where one app calls one or more other apps, all secondary apps must be published individually as well as the primary app.
If you are developing an app for multiple Target Platforms, Publish to Server will publish all Platforms simultaneously.
Once published to your App Server, apps are available to download from within the standard Client and can be configured in App Manager, e.g. to restrict access and to force downloads.
If you are deploying your apps as Standalone Apps, you still need to publish the apps to the Server, including any secondary apps. You can publish the currently open app when you request a Standalone App, or you can publish independently of the build request using the Publish to Server option or by installing a Digitise Apps Package file in App Manager.
When you make changes to an app, you will need to republish the app in order to make your changes available to your users.
If you are deploying the app as a Standalone App, on Android, Windows Desktop and Universal Windows Platforms, you can configure the app to allow updates to be downloaded from within the app, either automatically or manually. If you allow updates, you can also configure the app to automatically check for updates when the app is loaded. (Note that the option to check for updates on startup can also be configured within an installed Standalone App's own settings, if updates are allowed and the option hasn't been set to read-only in the app's build request.) If you don't allow updates to be downloaded, you will need to rebuild and re-deploy the complete Standalone App in order to distribute your changes. On iOS devices, you cannot download updates from within the app and if you make any change to the app you will need to rebuild the app and redeploy it to all your users.
If you are running your apps within the standard Client, you can configure the Client to check for updates on startup and designate an app to be automatically or manually downloaded. Either way, simply republishing your app to the App Server will make your changes immediately available to your users. The option to check for updates can be configured when building a pre-configured Digitise Apps Client or within a Digitise Apps Client's own Settings (see Install Digitise Apps Clients and Digitise apps to Mobile Devices) providing that the option hasn't been set to read-only within a pre-configured Client.
To publish an app to the App Server, click on the Publish to Server button on the Ribbon's Publish tab or click on the lower half of the Publish Project button, on the Ribbon's Home tab, and then choose Publish to Server from the menu displayed.
The Publish Project to Server dialog box will be displayed.
Within this dialog box, you must specify the App Server Configuration Database you want to publish the app to, under the Server section. If you need to change the connection string displayed here, see Configure Connection Strings for App Server Configuration Database & App Manager. You also need to specify whether you want the app's version number to be incremented, by selecting or deselecting the Increment version number to: option. Where updates are allowed, a new version of your app will only be downloaded automatically to mobile devices when the version on the server is later than that currently running on the device. However, you can manually download the current version from the App Server Configuration Database whether the version number has been incremented or not.
- Downloads, either automatic or manual, can only be performed if an app is configured to allow them and you have not denied access to the user/device attempting to update. Remember you cannot perform any updates when using Standalone Apps on live Apple devices, you will need to reinstall a new version of your updated Standalone App.
We recommend that if you make changes to a live app, you always increment the version number when you publish the app. If you don't increment the version number, you must make sure that all users download the latest version of the app to their mobile devices before they attempt to run the app. Otherwise they may experience problems if they try to run the old version of the app on the device against the later version published to the server.
- You can reset the version number to a lower value at any time using the Version Property within the Project Properties. For example, during development you might want to reset the version back to 1 before you publish the first version to be released to users.
Finally, the Inherit Security Settings From Previous Version option determines whether you want to retain any previously configured access rights for this app. If you are publishing an update to an existing app and the previous version has an Access Control List configured in the App Manager utility which restricts access to this app and you want to retain the same access controls, select this option. Otherwise when you publish your app, the current access rights will be cleared and the default access rights will be restored for your new version of the app (User and Device Access both set to Allow). Note, however, that you may want to change the Access Control List when publishing a new version, e.g. if you want to deploy to test users before issuing a general release.
When you have finished editing the options, publish your app by choosing the Publish button. A dialog box will be displayed showing the progress of the publishing. If there are any problems publishing your Project, use the Log button in the progress dialog box to find out more information. Choose the Close button to close down the dialog box and return to editing your Project.
If you are using the standard Client, your app is now available to be downloaded and used. If you want to deploy the app as a Standalone App you will need to request a build of the Standalone App, if you haven't already done so.
This feature provides a means of encapsulating a Digitise app's Project files into a single compressed file with optional encryption and password protection. This "Package" file can then be copied, e-mailed etc. whilst maintaining the integrity of the Project.
You can include all the files for an app in a Package file or only those required at runtime.
If you include all files, both source and runtime files are added to the Package. 'Source' files are files you edit in App Studio and which contain the raw data which describe your app. 'Runtime' files are files which are needed to run the app on your devices. A Package file that includes all files can be imported into a copy of App Studio and then can be edited in the normal way, allowing you to copy it to another machine to work on it there, pass a project to another developer for them to work on or use for backup purposes. The Package file can also be used to publish the contained app to an App Server from within the App Manager utility.
If you only include the runtime files, the Package can be published within App Manager and then downloaded by your users, but the app cannot be edited from the Package.
Package files may also be used when creating Standalone Apps. If you are including multiple Models within a Standalone App, e.g. where you have one app called from another app, or, on the iOS Platform if you are including more than one Project within a Standalone App, additional Models/Projects are added to the Standalone App as Digitise Apps Package files. Note, that, when creating Package files to be used in Standalone Apps, you can include all source and runtime files or just the runtime files. For the Standalone App itself, you only need the runtime files, but you may choose to include the source files as well, e.g. if you want to keep a backup of the full project.
When you package a Project it will be saved to a file with a '.mxp' extension. Creating a package file doesn't affect your original Project which remains accessible within your App Studio in the normal way.
To create a Package File, click on the Publish to Package button on the Ribbon's Publish tab or click on the lower half of the Publish Project button, on the Ribbon's Home tab, and then choose Publish to Package from the menu displayed.
The Publish Project To Package dialog box will be displayed.
Within this dialog box, you can change the path and file name for your Package file, by default:
C:\Users\<user>\Documents\NDL Software\Digitise Apps\Packages\Exported\<projectname>_Ver_<projectversionnumber>.mxp
If you want to change the file path, you can either type in the required path or use the Browse button, , at the end of the field. The Browse button will open a standard file browser window, allowing you to navigate to and select the folder you want the Package file to be written to and to enter a name for the file. You can create a new folder by right-clicking on the name of the parent folder in the left-hand tree view or by displaying the parent folder in the right-hand pane and then right-clicking on white space within the right-hand pane. In either case, a context menu will be displayed from which you can choose New → Folder. If you are typing in a new folder, the folder you specify must exist otherwise the Package file won't be created.
Note that if you do edit the file name and path, when you next open this dialog box, the folder path and file name will revert to the default folder and file name.
You can also select whether you want the Package file to be encrypted and password protected. By default, the Package will be encrypted only. If you select Password Protection you can then specify the required password, which you will need to do twice. You will need to enter this password if you want to open the package file later. There are additional options to allow you to specify the Author and add a Comment if you want to.
The Publish Run-Time Files Only option allows you to choose between including all the Project files in the Package File and only those required to enable the Project to run at runtime. If you select this option, only the runtime files will be added to the Package file, potentially reducing the size of the file. You might choose this option if you are creating a package file because you want to add this Project as a secondary Model within another app, i.e. to allow this Project to be loaded from within the other app, or because you want to use the Package file to publish the app in App Manager. Deselecting this option will include all the Project files in the Package file, which includes files required for running the app but also to edit it. If you might want to import the Package file into App Studio for editing at some later date, make sure this option is not selected.
When you have finished specifying your required settings, to publish your app, choose the Publish button. When the Package has been created the Package Created dialog box will appear confirming details of your Package and its contents. Click OK to dismiss this dialog box.
You can now use the Package to build a Standalone App, copy the Project to another PC to be worked on there or use it to publish your app to your App Server from within App Manager. You can also keep it as a backup of your project, e.g. you can use Package files to keep copies of your Project at various stages, allowing you to go back to a previous stage if you want to reverse subsequent changes easily.